package core.dao;

import java.io.Serializable;
import java.util.List;

public interface CrudDao<T, I extends Serializable> {

	public T get(I id);

	public T getForUpdate(I id);
	

	public T load(I id);

	public T loadForUpdate(I id);
	

	public T refresh(T o);

	public T refreshForUpdate(T o);

	public List<T> getAll();

	public void add(T o);

	public void update(T o);

	public void delete(T o);

	public void delete(I id);

	public void flush();

	public void evit(T o);
}
